| Miles Sound System SDK 7.2a |
The EAX 3 provider publishes many driver-level and sample-level properties that allow game developers to set interesting room styles. The EAX 3 provider also adds hardware support for exclusion which sound really nice on an Audigy card. Good use of room styles can add more to the "feel" of a game than the fanciest 3D spatialization.
When an HDIGDRIVER is opened with MSS_MC_EAX3 as the output channel specification, the following driver-level properties are accessible via AIL_output_filter_driver_property. Most applications should not control these properties directly; the standard digital audio API will provide plenty of control without sacrificing compatibility or causing internal state conflicts.
"Mute at maximum": this property controls whether sound is muted outside of the maximum distance (which is the default), or whether sound just stops falling off outside the maximum distance. As of this writing, the SBLive and Audigy drivers don't support mute at maximum.
All of the EAX driver-level properties.
All of the EAX 2 driver-level properties.
"EAX3 room LF": the Room LF property further tweaks reflected sound by attenuating it at low frequencies. It controls a high-pass filter that applies globally to the reflected sound of all sound sources. The value of the Room LF property ranges from 0 dB (no filter) to -100 dB (virtually no reflected sound). This property accepts a 32-bit integer (S32) from -10000.0 to 0.0 in hundredth of a dB.
"EAX3 decay LF ratio": the Decay LF Ratio property sets the spectral quality of the Decay Time parameter. It is the ratio of low-frequency decay time relative to the time set by Decay Time. The Decay LF Ratio value 1.0 is neutral: the decay time is equal for all frequencies. As Decay LF Ratio increases above 1.0, the low-frequency decay time increases so it's longer than the decay time at high frequencies. You hear a more brilliant reverberation with a longer decay at low frequencies. As the Decay LF Ratio value decreases below 1.0, the low-frequency decay time decreases so it's shorter than the decay time of the high frequencies. You hear a more less natural reverberation. This property accepts a 32-bit float (F32) from 0.1 to 20.0 as a linear multiplier value.
"EAX3 reflections pan": the Reflections Pan property is a 3D vector that controls the spatial distribution of the cluster of early reflections. The direction of this vector controls the global direction of the reflections, while its magnitude controls how focused the reflections are towards this direction. The direction of the vector is interpreted in the coordinate system of the user, without taking into account the orientation of the virtual listener. For instance, assuming a fourpoint loudspeaker playback system, setting Reflections Pan to (0.0, 0.0, 0.7) means that the reflections are panned to the front speaker pair, whereas as setting of (0.0, 0.0, -0.7) pans the reflections towards the rear speakers. If the magnitude of Reflections Pan is zero (the default setting), the early reflections come evenly from all directions. As the magnitude increases, the reflections become more focused in the direction pointed to by the vector. A magnitude of 1.0 represents the extreme case where all reflections come from a single direction, and is therefore unusual. The EAX 3.0 reverberation engine does not support magnitudes larger than 0.7. Although larger magnitudes are allowed (up to 1.0), it is safer for the application to limit the magnitude to 0.7, because this limitation of the EAX reverberation engine may be removed in future versions of EAX. This property accepts a 32-bit float (F32).
"EAX3 reverb pan": this Reverb Pan property works exactly like the Reflections pan property, but applies to the late reverberation. This property accepts a 32-bit float (F32).
"EAX3 echo time" and "EAX3 echo depth": the Echo Time property determines the time lag of an echo in the reverberation decay. The strength of this effect is controlled by the settings of the Echo Depth and Environment Diffusion properties. For the maximum value of Diffusion, 1.0, the echo is restricted to the onset of the reverberation and perceptible mainly with percussive sounds. For lower values of Diffusion, the echo repeats cyclically along the reverberation decay, with a period equal to Echo Time. This creates an amplitude modulation in the decay, which washes off towards the end of the decay for intermediate settings of Diffusion. If Diffusion is minimal, the echo persists during the whole decay. The default value of Echo Time is 250 ms, which specifies a rate of 4 echoes per second. These properties accepts a 32-bit float (F32).
"EAX3 modulation time" and "EAX3 modulation depth": the Modulation properties are similar to the Echo properties. However, instead of an echo (or amplitude modulation), they control a pitch modulation in the reverberation decay. The property Modulation Depth controls the pitch range of this modulation, while Modulation Time controls the rate of the modulation. The default modulation time is 250 ms, which specifies a rate of 4 cycles per second. Unlike the Echo properties, the Modulation properties create a modulation that persists during the whole reverberation decay (irrespective of the setting of the Environment diffusion property). These properties accepts a 32-bit float (F32).
"EAX3 HF reference" and "EAX3 LF reference": the HF Reference and LF Reference properties determine respectively the frequencies at which the high-frequency effect and the low-frequency effects created by EAX properties are measured. Note that, for listener properties, it is necessary to maintain a factor of at least 10 between these two reference frequencies so that low-frequency and high-frequency properties can be accurately controlled and can produce independent effects. In other words, the LF Reference value should be less than 1/10 of the HF Reference value. The HF Reference value also applies to the source properties for all sources. As a result, it is safe to adopt the same setting of HF Reference for all the environment presets used in a given application. Otherwise, changing the Environment preset while the application is running will affect certain properties that should remain characteristics of the sources (such as their directivity at high frequencies, specified by the source property Outside Volume HF). These property accepts a 32-bit float (F32) from 20 to 20000.0 as sound frequencies.
The following EAX 3 sample-level properties may be accessed by calling AIL_sample_stage_property with the SP_OUTPUT stage identifier:
All of the EAX 2 sample-level properties.
"EAX3 sample occlusion direct ratio": the Occlusion Direct Ratio property controls the amount of attenuation and filtering applied to the direct path for a given setting of the Occlusion property. The attenuation obtained at the reference high frequency is determined by multiplying the Occlusion property value by the Occlusion Room Ratio or the Occlusion Direct Ratio. When the Ratio value is set between 0.0 and 1.0, the effect is equivalent, for low and high frequencies, to scaling the setting of the Occlusion property by that value. If the value is larger than 1.0, that is only true at high frequencies; at low frequencies, the attenuation is such that the filter slope (difference between low frequencies and high frequencies) remains the same as for a setting of 1.0.
"EAX3 sample exclusion": the Exclusion property specifies the amount of exclusion muffling to apply to a sound source's reflected sound. You should generally use the AIL_set_sample_exclusion function instead of this property to set the occlusion for compatibility with other 3D providers. Only the reflected sound from the sound source are muffled by the exclusion. This property accepts a 32-bit integer (S32) from -10000.0 to 0.0 in hundredth of a dB.
"EAX3 sample exclusion LF ratio": the Exclusion LF Ratio property affects the spectral quality of exclusion set by the Exclusion property: it specifies the exclusion attenuation at low frequencies relative to the attenuation at high frequencies. The minimum value of 0.0 specifies no attenuation at low frequencies; the maximum value of 1.0 specifies the same low-frequency attenuation as high-frequency attenuation. The default setting of 0.25 specifies that low frequencies are attenuated much less than high frequencies. Note that adjusting Exclusion LF Ratio alone has no effect if Exclusion is set to 0. This property accepts a 32-bit float (F32) from 0.0 to 1.0 as a linear multiplier value.
"EAX3 sample doppler factor": the Doppler Factor property is a low-level sound-source property that is defined the same way as the global Doppler Factor property provided in DirectSound only for reflected sound. A value of 1.0 provides natural Doppler effects according to the movement of the source relative to the listener. A value larger than 1.0 will exaggerate these effects. A value of 0.0 will eliminate Doppler effects.
These EAX 3 property descriptions are taken almost verbatim from the EAX 3 documentation - see the EAX 3 docs for more information.
Be sure to review the How do I use multi-channel sound output in Miles? FAQ in conjunction with the material above.
Group:
Creative EAX 2, 3, and 4 Providers
Related Functions:
AIL_output_filter_driver_property, AIL_sample_stage_property, AIL_set_sample_exclusion
Related FAQs:
How do I use multi-channel sound output in Miles?
For technical support, e-mail Miles3@radgametools.com
© Copyright 1991-2007 RAD Game Tools, Inc. All Rights Reserved.